Hay una lista de notificaciones del backend. Cada notificación tiene un botón de eliminación. Si hago clic en el botón Eliminar de cualquier notificación, quiero que se elimine esa notificación.
¿Cómo hago esto?
mi servicio
const remove = (notificationDto) => { return new Observable((observer) => { //<NotificationDto> axiosInstance .delete(SERVICE_PATH + '/remove', notificationDto) .then((response) => { observer.next(response.data); observer.complete(); }) .catch((err) => { console.log(err); }); }); };html
<div className="notificationlist__container only-desktop"> {props.notification.notificationList.map((notification) => { return ( <div className="notificationlist__time"> {notification.notificationDay} <div className="delete__button"> <AS.IconButton onClick={() => notificationDataUpdateDeleteClick(notification)}> <AS.DeleteIcon /> </AS.IconButton> </div> </div> ); })} </div>donde llamo al servicio
Después de enviar la notificación como carga útil, el problema se resolvió
import { InAppNotificationsService } from 'services/InAppNotificationsService'; import { NotificationContext } from 'contexts/NotificationContext'; const { notificationData, setNotificationData } = useContext(NotificationContext); const notificationDataUpdateDeleteClick = (notification) => { InAppNotificationsService.remove({ data: notification }).subscribe({ next: (response) => { InAppNotificationsService.allNotifications({ nationalId: tckn, externalContactNumber: contactInfo?.externalContactNumber }).subscribe({ next: (response) => { setNotificationData(response); }, error: (error) => { console.log(error); } }); }, error: (error) => { console.log(error); } }); };